﻿using static Ultraviolet.SDL2.Native.SDL_Scancode;

namespace Ultraviolet.SDL2.Native
{
#pragma warning disable 1591
    public enum SDL_Keycode
    {
        SDLK_UNKNOWN = 0,
        SDLK_RETURN = '\r',
        SDLK_ESCAPE = '\x1B',
        SDLK_BACKSPACE = '\b',
        SDLK_TAB = '\t',
        SDLK_SPACE = ' ',
        SDLK_EXCLAIM = '!',
        SDLK_QUOTEDBL = '"',
        SDLK_HASH = '#',
        SDLK_PERCENT = '%',
        SDLK_DOLLAR = '$',
        SDLK_AMPERSAND = '&',
        SDLK_QUOTE = '\'',
        SDLK_LEFTPAREN = '(',
        SDLK_RIGHTPAREN = ')',
        SDLK_ASTERISK = '*',
        SDLK_PLUS = '+',
        SDLK_COMMA = ',',
        SDLK_MINUS = '-',
        SDLK_PERIOD = '.',
        SDLK_SLASH = '/',
        SDLK_D0 = '0',
        SDLK_D1 = '1',
        SDLK_D2 = '2',
        SDLK_D3 = '3',
        SDLK_D4 = '4',
        SDLK_D5 = '5',
        SDLK_D6 = '6',
        SDLK_D7 = '7',
        SDLK_D8 = '8',
        SDLK_D9 = '9',
        SDLK_COLON = ':',
        SDLK_SEMICOLON = ';',
        SDLK_LESS = '<',
        SDLK_EQUALS = '=',
        SDLK_GREATER = '>',
        SDLK_QUESTION = '?',
        SDLK_AT = '@',
        SDLK_LEFTBRACKET = '[',
        SDLK_BACKSLASH = '\\',
        SDLK_RIGHTBRACKET = ']',
        SDLK_CARET = '^',
        SDLK_UNDERSCORE = '_',
        SDLK_BACKQUOTE = '`',
        SDLK_A = 'a',
        SDLK_B = 'b',
        SDLK_C = 'c',
        SDLK_D = 'd',
        SDLK_E = 'e',
        SDLK_F = 'f',
        SDLK_G = 'g',
        SDLK_H = 'h',
        SDLK_I = 'i',
        SDLK_J = 'j',
        SDLK_K = 'k',
        SDLK_L = 'l',
        SDLK_M = 'm',
        SDLK_N = 'n',
        SDLK_O = 'o',
        SDLK_P = 'p',
        SDLK_Q = 'q',
        SDLK_R = 'r',
        SDLK_S = 's',
        SDLK_T = 't',
        SDLK_U = 'u',
        SDLK_V = 'v',
        SDLK_W = 'w',
        SDLK_X = 'x',
        SDLK_Y = 'y',
        SDLK_Z = 'z',
        SDLK_CAPSLOCK = SDL_SCANCODE_CAPSLOCK | 0x40000000,
        SDLK_F1 = SDL_SCANCODE_F1 | 0x40000000,
        SDLK_F2 = SDL_SCANCODE_F2 | 0x40000000,
        SDLK_F3 = SDL_SCANCODE_F3 | 0x40000000,
        SDLK_F4 = SDL_SCANCODE_F4 | 0x40000000,
        SDLK_F5 = SDL_SCANCODE_F5 | 0x40000000,
        SDLK_F6 = SDL_SCANCODE_F6 | 0x40000000,
        SDLK_F7 = SDL_SCANCODE_F7 | 0x40000000,
        SDLK_F8 = SDL_SCANCODE_F8 | 0x40000000,
        SDLK_F9 = SDL_SCANCODE_F9 | 0x40000000,
        SDLK_F10 = SDL_SCANCODE_F10 | 0x40000000,
        SDLK_F11 = SDL_SCANCODE_F11 | 0x40000000,
        SDLK_F12 = SDL_SCANCODE_F12 | 0x40000000,
        SDLK_PRINTSCREEN = SDL_SCANCODE_PRINTSCREEN | 0x40000000,
        SDLK_SCROLLLOCK = SDL_SCANCODE_SCROLLLOCK | 0x40000000,
        SDLK_PAUSE = SDL_SCANCODE_PAUSE | 0x40000000,
        SDLK_INSERT = SDL_SCANCODE_INSERT | 0x40000000,
        SDLK_HOME = SDL_SCANCODE_HOME | 0x40000000,
        SDLK_PAGEUP = SDL_SCANCODE_PAGEUP | 0x40000000,
        SDLK_DELETE = '\x7F',
        SDLK_END = SDL_SCANCODE_END | 0x40000000,
        SDLK_PAGEDOWN = SDL_SCANCODE_PAGEDOWN | 0x40000000,
        SDLK_RIGHT = SDL_SCANCODE_RIGHT | 0x40000000,
        SDLK_LEFT = SDL_SCANCODE_LEFT | 0x40000000,
        SDLK_DOWN = SDL_SCANCODE_DOWN | 0x40000000,
        SDLK_UP = SDL_SCANCODE_UP | 0x40000000,
        SDLK_NUMLOCKCLEAR = SDL_SCANCODE_NUMLOCKCLEAR | 0x40000000,
        SDLK_KP_DIVIDE = SDL_SCANCODE_KP_DIVIDE | 0x40000000,
        SDLK_KP_MULTIPLY = SDL_SCANCODE_KP_MULTIPLY | 0x40000000,
        SDLK_KP_MINUS = SDL_SCANCODE_KP_MINUS | 0x40000000,
        SDLK_KP_PLUS = SDL_SCANCODE_KP_PLUS | 0x40000000,
        SDLK_KP_ENTER = SDL_SCANCODE_KP_ENTER | 0x40000000,
        SDLK_KP_D1 = SDL_SCANCODE_KP_D1 | 0x40000000,
        SDLK_KP_D2 = SDL_SCANCODE_KP_D2 | 0x40000000,
        SDLK_KP_D3 = SDL_SCANCODE_KP_D3 | 0x40000000,
        SDLK_KP_D4 = SDL_SCANCODE_KP_D4 | 0x40000000,
        SDLK_KP_D5 = SDL_SCANCODE_KP_D5 | 0x40000000,
        SDLK_KP_D6 = SDL_SCANCODE_KP_D6 | 0x40000000,
        SDLK_KP_D7 = SDL_SCANCODE_KP_D7 | 0x40000000,
        SDLK_KP_D8 = SDL_SCANCODE_KP_D8 | 0x40000000,
        SDLK_KP_D9 = SDL_SCANCODE_KP_D9 | 0x40000000,
        SDLK_KP_D0 = SDL_SCANCODE_KP_D0 | 0x40000000,
        SDLK_KP_PERIOD = SDL_SCANCODE_KP_PERIOD | 0x40000000,
        SDLK_APPLICATION = SDL_SCANCODE_APPLICATION | 0x40000000,
        SDLK_POWER = SDL_SCANCODE_POWER | 0x40000000,
        SDLK_KP_EQUALS = SDL_SCANCODE_KP_EQUALS | 0x40000000,
        SDLK_F13 = SDL_SCANCODE_F13 | 0x40000000,
        SDLK_F14 = SDL_SCANCODE_F14 | 0x40000000,
        SDLK_F15 = SDL_SCANCODE_F15 | 0x40000000,
        SDLK_F16 = SDL_SCANCODE_F16 | 0x40000000,
        SDLK_F17 = SDL_SCANCODE_F17 | 0x40000000,
        SDLK_F18 = SDL_SCANCODE_F18 | 0x40000000,
        SDLK_F19 = SDL_SCANCODE_F19 | 0x40000000,
        SDLK_F20 = SDL_SCANCODE_F20 | 0x40000000,
        SDLK_F21 = SDL_SCANCODE_F21 | 0x40000000,
        SDLK_F22 = SDL_SCANCODE_F22 | 0x40000000,
        SDLK_F23 = SDL_SCANCODE_F23 | 0x40000000,
        SDLK_F24 = SDL_SCANCODE_F24 | 0x40000000,
        SDLK_EXECUTE = SDL_SCANCODE_EXECUTE | 0x40000000,
        SDLK_HELP = SDL_SCANCODE_HELP | 0x40000000,
        SDLK_MENU = SDL_SCANCODE_MENU | 0x40000000,
        SDLK_SELECT = SDL_SCANCODE_SELECT | 0x40000000,
        SDLK_STOP = SDL_SCANCODE_STOP | 0x40000000,
        SDLK_AGAIN = SDL_SCANCODE_AGAIN | 0x40000000,
        SDLK_UNDO = SDL_SCANCODE_UNDO | 0x40000000,
        SDLK_CUT = SDL_SCANCODE_CUT | 0x40000000,
        SDLK_COPY = SDL_SCANCODE_COPY | 0x40000000,
        SDLK_PASTE = SDL_SCANCODE_PASTE | 0x40000000,
        SDLK_FIND = SDL_SCANCODE_FIND | 0x40000000,
        SDLK_MUTE = SDL_SCANCODE_MUTE | 0x40000000,
        SDLK_VOLUMEUP = SDL_SCANCODE_VOLUMEUP | 0x40000000,
        SDLK_VOLUMEDOWN = SDL_SCANCODE_VOLUMEDOWN | 0x40000000,
        SDLK_KP_COMMA = SDL_SCANCODE_KP_COMMA | 0x40000000,
        SDLK_KP_EQUALSAS400 = SDL_SCANCODE_KP_EQUALSAS400 | 0x40000000,
        SDLK_ALTERASE = SDL_SCANCODE_ALTERASE | 0x40000000,
        SDLK_SYSREQ = SDL_SCANCODE_SYSREQ | 0x40000000,
        SDLK_CANCEL = SDL_SCANCODE_CANCEL | 0x40000000,
        SDLK_CLEAR = SDL_SCANCODE_CLEAR | 0x40000000,
        SDLK_PRIOR = SDL_SCANCODE_PRIOR | 0x40000000,
        SDLK_RETURN2 = SDL_SCANCODE_RETURN2 | 0x40000000,
        SDLK_SEPARATOR = SDL_SCANCODE_SEPARATOR | 0x40000000,
        SDLK_OUT = SDL_SCANCODE_OUT | 0x40000000,
        SDLK_OPER = SDL_SCANCODE_OPER | 0x40000000,
        SDLK_CLEARAGAIN = SDL_SCANCODE_CLEARAGAIN | 0x40000000,
        SDLK_CRSEL = SDL_SCANCODE_CRSEL | 0x40000000,
        SDLK_EXSEL = SDL_SCANCODE_EXSEL | 0x40000000,
        SDLK_KP_00 = SDL_SCANCODE_KP_00 | 0x40000000,
        SDLK_KP_000 = SDL_SCANCODE_KP_000 | 0x40000000,
        SDLK_THOUSANDSSEPARATOR = SDL_SCANCODE_THOUSANDSSEPARATOR | 0x40000000,
        SDLK_DECIMALSEPARATOR = SDL_SCANCODE_DECIMALSEPARATOR | 0x40000000,
        SDLK_CURRENCYUNIT = SDL_SCANCODE_CURRENCYUNIT | 0x40000000,
        SDLK_CURRENCYSUBUNIT = SDL_SCANCODE_CURRENCYSUBUNIT | 0x40000000,
        SDLK_KP_LEFTPAREN = SDL_SCANCODE_KP_LEFTPAREN | 0x40000000,
        SDLK_KP_RIGHTPAREN = SDL_SCANCODE_KP_RIGHTPAREN | 0x40000000,
        SDLK_KP_LEFTBRACE = SDL_SCANCODE_KP_LEFTBRACE | 0x40000000,
        SDLK_KP_RIGHTBRACE = SDL_SCANCODE_KP_RIGHTBRACE | 0x40000000,
        SDLK_KP_TAB = SDL_SCANCODE_KP_TAB | 0x40000000,
        SDLK_KP_BACKSPACE = SDL_SCANCODE_KP_BACKSPACE | 0x40000000,
        SDLK_KP_A = SDL_SCANCODE_KP_A | 0x40000000,
        SDLK_KP_B = SDL_SCANCODE_KP_B | 0x40000000,
        SDLK_KP_C = SDL_SCANCODE_KP_C | 0x40000000,
        SDLK_KP_D = SDL_SCANCODE_KP_D | 0x40000000,
        SDLK_KP_E = SDL_SCANCODE_KP_E | 0x40000000,
        SDLK_KP_F = SDL_SCANCODE_KP_F | 0x40000000,
        SDLK_KP_XOR = SDL_SCANCODE_KP_XOR | 0x40000000,
        SDLK_KP_POWER = SDL_SCANCODE_KP_POWER | 0x40000000,
        SDLK_KP_PERCENT = SDL_SCANCODE_KP_PERCENT | 0x40000000,
        SDLK_KP_LESS = SDL_SCANCODE_KP_LESS | 0x40000000,
        SDLK_KP_GREATER = SDL_SCANCODE_KP_GREATER | 0x40000000,
        SDLK_KP_AMPERSAND = SDL_SCANCODE_KP_AMPERSAND | 0x40000000,
        SDLK_KP_DBLAMPERSAND = SDL_SCANCODE_KP_DBLAMPERSAND | 0x40000000,
        SDLK_KP_VERTICALBAR = SDL_SCANCODE_KP_VERTICALBAR | 0x40000000,
        SDLK_KP_DBLVERTICALBAR = SDL_SCANCODE_KP_DBLVERTICALBAR | 0x40000000,
        SDLK_KP_COLON = SDL_SCANCODE_KP_COLON | 0x40000000,
        SDLK_KP_HASH = SDL_SCANCODE_KP_HASH | 0x40000000,
        SDLK_KP_SPACE = SDL_SCANCODE_KP_SPACE | 0x40000000,
        SDLK_KP_AT = SDL_SCANCODE_KP_AT | 0x40000000,
        SDLK_KP_EXCLAM = SDL_SCANCODE_KP_EXCLAM | 0x40000000,
        SDLK_KP_MEMSTORE = SDL_SCANCODE_KP_MEMSTORE | 0x40000000,
        SDLK_KP_MEMRECALL = SDL_SCANCODE_KP_MEMRECALL | 0x40000000,
        SDLK_KP_MEMCLEAR = SDL_SCANCODE_KP_MEMCLEAR | 0x40000000,
        SDLK_KP_MEMADD = SDL_SCANCODE_KP_MEMADD | 0x40000000,
        SDLK_KP_MEMSUBTRACT = SDL_SCANCODE_KP_MEMSUBTRACT | 0x40000000,
        SDLK_KP_MEMMULTIPLY = SDL_SCANCODE_KP_MEMMULTIPLY | 0x40000000,
        SDLK_KP_MEMDIVIDE = SDL_SCANCODE_KP_MEMDIVIDE | 0x40000000,
        SDLK_KP_PLUSMINUS = SDL_SCANCODE_KP_PLUSMINUS | 0x40000000,
        SDLK_KP_CLEAR = SDL_SCANCODE_KP_CLEAR | 0x40000000,
        SDLK_KP_CLEARENTRY = SDL_SCANCODE_KP_CLEARENTRY | 0x40000000,
        SDLK_KP_BINARY = SDL_SCANCODE_KP_BINARY | 0x40000000,
        SDLK_KP_OCTAL = SDL_SCANCODE_KP_OCTAL | 0x40000000,
        SDLK_KP_DECIMAL = SDL_SCANCODE_KP_DECIMAL | 0x40000000,
        SDLK_KP_HEXADECIMAL = SDL_SCANCODE_KP_HEXADECIMAL | 0x40000000,
        SDLK_LCTRL = SDL_SCANCODE_LCTRL | 0x40000000,
        SDLK_LSHIFT = SDL_SCANCODE_LSHIFT | 0x40000000,
        SDLK_LALT = SDL_SCANCODE_LALT | 0x40000000,
        SDLK_LGUI = SDL_SCANCODE_LGUI | 0x40000000,
        SDLK_RCTRL = SDL_SCANCODE_RCTRL | 0x40000000,
        SDLK_RSHIFT = SDL_SCANCODE_RSHIFT | 0x40000000,
        SDLK_RALT = SDL_SCANCODE_RALT | 0x40000000,
        SDLK_RGUI = SDL_SCANCODE_RGUI | 0x40000000,
        SDLK_MODE = SDL_SCANCODE_MODE | 0x40000000,
        SDLK_AUDIONEXT = SDL_SCANCODE_AUDIONEXT | 0x40000000,
        SDLK_AUDIOPREV = SDL_SCANCODE_AUDIOPREV | 0x40000000,
        SDLK_AUDIOSTOP = SDL_SCANCODE_AUDIOSTOP | 0x40000000,
        SDLK_AUDIOPLAY = SDL_SCANCODE_AUDIOPLAY | 0x40000000,
        SDLK_AUDIOMUTE = SDL_SCANCODE_AUDIOMUTE | 0x40000000,
        SDLK_MEDIASELECT = SDL_SCANCODE_MEDIASELECT | 0x40000000,
        SDLK_WWW = SDL_SCANCODE_WWW | 0x40000000,
        SDLK_MAIL = SDL_SCANCODE_MAIL | 0x40000000,
        SDLK_CALCULATOR = SDL_SCANCODE_CALCULATOR | 0x40000000,
        SDLK_COMPUTER = SDL_SCANCODE_COMPUTER | 0x40000000,
        SDLK_AC_SEARCH = SDL_SCANCODE_AC_SEARCH | 0x40000000,
        SDLK_AC_HOME = SDL_SCANCODE_AC_HOME | 0x40000000,
        SDLK_AC_BACK = SDL_SCANCODE_AC_BACK | 0x40000000,
        SDLK_AC_FORWARD = SDL_SCANCODE_AC_FORWARD | 0x40000000,
        SDLK_AC_STOP = SDL_SCANCODE_AC_STOP | 0x40000000,
        SDLK_AC_REFRESH = SDL_SCANCODE_AC_REFRESH | 0x40000000,
        SDLK_AC_BOOKMARKS = SDL_SCANCODE_AC_BOOKMARKS | 0x40000000,
        SDLK_BRIGHTNESSDOWN = SDL_SCANCODE_BRIGHTNESSDOWN | 0x40000000,
        SDLK_BRIGHTNESSUP = SDL_SCANCODE_BRIGHTNESSUP | 0x40000000,
        SDLK_DISPLAYSWITCH = SDL_SCANCODE_DISPLAYSWITCH | 0x40000000,
        SDLK_KBDILLUMTOGGLE = SDL_SCANCODE_KBDILLUMTOGGLE | 0x40000000,
        SDLK_KBDILLUMDOWN = SDL_SCANCODE_KBDILLUMDOWN | 0x40000000,
        SDLK_KBDILLUMUP = SDL_SCANCODE_KBDILLUMUP | 0x40000000,
        SDLK_EJECT = SDL_SCANCODE_EJECT | 0x40000000,
        SDLK_SLEEP = SDL_SCANCODE_SLEEP | 0x40000000
    }
#pragma warning restore 1591
}